package com.snail.clouds.storage.factory;

import com.snail.clouds.storage.core.AbstractStorageClient;
import com.snail.clouds.storage.providers.tianyi_tv.TianyiTvClient;

/**
 * 云存储客户端工厂类
 */
public class StorageClientFactory {

    public enum ProviderType {
        TIANYI_TV,
        ALI_CLOUD,
        TENCENT_CLOUD
    }

    /**
     * 创建客户端
     *
     * @param providerType 提供商类型
     * @return 云存储客户端
     */
    public static AbstractStorageClient createClient(ProviderType providerType) {
        switch (providerType) {
            case TIANYI_TV:
                return new TianyiTvClient();
            case ALI_CLOUD:
                // return new AliCloudStorageClient();
            case TENCENT_CLOUD:
                // return new TencentCloudStorageClient();
            default:
                throw new IllegalArgumentException("Unsupported provider type: " + providerType);
        }
    }
}
